home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / program / ny_src.zip / MEDIT.CPP < prev    next >
C/C++ Source or Header  |  1995-02-26  |  4KB  |  179 lines

  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define LEVELS 21
  5.  
  6. void dump(void);
  7.  
  8. typedef enum                {HANDS,PEPPER,KNIFE,CHAIN,GUN,RIFLE,LASER_GUN,SHOTGUN,MACHINEGUN,GRANADE_LAUNCHER,BLASTER,A_BOMB} weapon;
  9.  
  10. typedef struct {
  11.     int        first_enemy[LEVELS],
  12.             last_enemy[LEVELS];
  13.     } enemy_idx;
  14.  
  15. typedef struct {
  16.     char        name[36];
  17.     int             hitpoints,
  18.             strength,
  19.             defense;
  20.     weapon        arm;
  21.     } enemy;
  22.  
  23.  
  24.  
  25.  
  26. void
  27. main(void)
  28. {
  29.   FILE *justfile;
  30.   enemy erec;
  31.   enemy_idx eidx;
  32.   char key;
  33.   int num,cnt;
  34.   char nnm[36];
  35.  
  36.   do {
  37.     printf("\n\nA-Add V-View E-Edit Q-Quit >");
  38.     scanf("%c",&key);
  39.     dump();
  40.  
  41.     if (key=='A' || key=='a') {
  42.       printf("Name of the sucker:");
  43.       cnt=0;
  44.       do {
  45.     scanf("%c",&key);
  46.     erec.name[cnt]=key;
  47.     cnt++;
  48.       } while (key!='\n' && key!='\r' && cnt<36);
  49.       erec.name[cnt-1]=0;
  50.  
  51.  
  52.       if (key!='\n' && key!='\r') dump();
  53.  
  54.       printf("Hitpoints:");
  55.       scanf("%d",&erec.hitpoints);
  56.       dump();
  57.  
  58.       printf("Strength:");
  59.       scanf("%d",&erec.strength);
  60.       dump();
  61.  
  62.       printf("Defense:");
  63.       scanf("%d",&erec.defense);
  64.       dump();
  65.  
  66.       printf("Arm:");
  67.       scanf("%d",&erec.arm);
  68.  
  69.       dump();
  70.  
  71.       justfile=fopen("NYENM.DAT","a+b");
  72.       printf("Atpos: %d\n\n",ftell(justfile)/sizeof(enemy));
  73.       fwrite(&erec,sizeof(enemy),1,justfile);
  74.       fclose(justfile);
  75.     }
  76.     else if (key=='V' || key=='v') {
  77.       printf("\nView which record:");
  78.       scanf("%d",&num);
  79.       dump();
  80.  
  81.       justfile=fopen("NYENM.DAT","rb");
  82.       fseek(justfile,num*sizeof(enemy),SEEK_SET);
  83.       fread(&erec,sizeof(enemy),1,justfile);
  84.       fclose(justfile);
  85.  
  86.       printf("Name of the sucker: %s\n",erec.name);
  87.       printf("Hitpoints: %d\n",erec.hitpoints);
  88.       printf("Strength: %d\n",erec.strength);
  89.       printf("Defense: %d\n",erec.defense);
  90.       printf("Arm: %d\n",erec.arm);
  91.  
  92.     }
  93.     else if (key=='E' || key=='e') {
  94.  
  95.       printf("\nEdit which record:");
  96.       scanf("%d",&num);
  97.  
  98.       dump();
  99.  
  100.       justfile=fopen("NYENM.DAT","rb");
  101.       fseek(justfile,num*sizeof(enemy),SEEK_SET);
  102.       fread(&erec,sizeof(enemy),1,justfile);
  103.       fclose(justfile);
  104.  
  105.       printf("Name of the sucker: %s\n",erec.name);
  106.       printf("Hitpoints: %d\n",erec.hitpoints);
  107.       printf("Strength: %d\n",erec.strength);
  108.       printf("Defense: %d\n",erec.defense);
  109.       printf("Arm: %d\n",erec.arm);
  110.  
  111.       printf("\nName of the sucker:");
  112.       cnt=0;
  113.       do {
  114.     scanf("%c",&key);
  115.     erec.name[cnt]=key;
  116.     cnt++;
  117.       } while (key!='\n' && key!='\r' && cnt<36);
  118.       erec.name[cnt-1]=0;
  119.  
  120.       if (key!='\n' && key!='\r') dump();
  121.  
  122.       printf("Hitpoints:");
  123.       scanf("%d",&erec.hitpoints);
  124.       dump();
  125.  
  126.       printf("Strength:");
  127.       scanf("%d",&erec.strength);
  128.       dump();
  129.  
  130.       printf("Defense:");
  131.       scanf("%d",&erec.defense);
  132.       dump();
  133.  
  134.       printf("Arm:");
  135.       scanf("%d",&erec.arm);
  136.  
  137.       dump();
  138.  
  139.       justfile=fopen("NYENM.DAT","r+b");
  140.       fseek(justfile,num*sizeof(enemy),SEEK_SET);
  141.       fwrite(&erec,sizeof(enemy),1,justfile);
  142.       fclose(justfile);
  143.     }
  144.  
  145.   } while (key!='q' && key!='Q');
  146.  
  147.   printf("\n\nRebuild the idx file? yn >");
  148.   scanf("%c",&key);
  149.   dump();
  150.  
  151.   if (key=='y' || key=='Y') {
  152.     justfile=fopen("NYENM.IDX","rb");
  153.     fread(&eidx,sizeof(enemy_idx),1,justfile);
  154.     fclose(justfile);
  155.     for (num=0;num<=20;num++) {
  156.       printf("input first enemy for level %d, was %d :",num,eidx.first_enemy[num]);
  157.       scanf("%d",&eidx.first_enemy[num]);
  158.       printf("input last enemy for level %d, was %d :",num,eidx.last_enemy[num]);
  159.       scanf("%d",&eidx.last_enemy[num]);
  160.       dump();
  161.     }
  162.     justfile=fopen("NYENM.IDX","wb");
  163.     fwrite(&eidx,sizeof(enemy_idx),1,justfile);
  164.     fclose(justfile);
  165.   }
  166.   printf("\nDone!");
  167. }
  168.  
  169. void
  170. dump(void)
  171. {
  172.   char key;
  173.   do {
  174.     scanf("%c",&key);
  175.   } while (key!='\n');
  176. }
  177.  
  178.  
  179.